package cn.edu.scnu.semart.common.interceptor;

import cn.edu.scnu.semart.common.utils.JwtUtils;
import org.springframework.stereotype.Component;
//import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Component
//public class LoginInterceptor implements HandlerInterceptor {
public class LoginInterceptor{

//    @Override
//    public boolean preHandle(HttpServletRequest request,
//                             HttpServletResponse response,
//                             Object handler) throws Exception {
//        String uri = request.getRequestURI();
//        // 放行登录 & Swagger
//        if (uri.startsWith("/auth") ||
//                uri.startsWith("/swagger-ui") ||
//                uri.startsWith("/swagger-resources") ||
//                uri.startsWith("/v2/api-docs") ||
//                uri.startsWith("/webjars") ||
//                uri.startsWith("/doc.html")) {
//            return true;
//        }
//        if ("OPTIONS".equalsIgnoreCase(request.getMethod())) {
//            return true;
//        }
//
//        String token = request.getHeader("Authorization");
//        if (token == null || !token.startsWith("Bearer ")) {
//            response.setStatus(401);
//            return false;
//        }
//        try {
//            Integer userId = JwtUtils.getUserId(token);
//            String userType = JwtUtils.getUserType(token);
//            request.setAttribute("currentUserId", userId); // 供 @RequestAttribute 注入
//            request.setAttribute("currentUserType", userType); // ← 新增
//        } catch (Exception e) {
//            response.setStatus(401);
//            return false;
//        }
//        return true;
//    }
}